import axios from 'axios';
import { IParams, IajaxData } from '@/typets/index'; //导入接口
export default async (
  url: string,
  method: string,
  params?: IParams | {}
): Promise<any> => {
  return new Promise((reslove: Function, reject: Function) => {
    if (method == 'GET') {
      axios
        .get(url, { params: params })
        .then(({ data }: IajaxData) => {
          reslove(data);
        })
        .catch(() => {
          return new Error('get请求异常');
        });
    } else if (method == 'POST') {
      axios
        .post(url, { ...params })
        .then(({ data }: IajaxData) => {
          reslove(data);
        })
        .catch(() => {
          return new Error('post请求异常');
        });
    } else if (method == 'PUT') {
      axios
        .put(url, { ...params })
        .then(({ data }: IajaxData) => {
          reslove(data);
        })
        .catch(() => {
          return new Error('post请求异常');
        });
    } else if (method == 'DELETE') {
      axios
        .delete(url, { ...params })
        .then(({ data }: IajaxData) => {
          reslove(data);
        })
        .catch(() => {
          return new Error('post请求异常');
        });
    }
  });
};
